﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using nPress.Core.Interfaces;

namespace nPress.Core.Entities
{
    public class Post : IIdentifiable
    {
        public virtual int Id { get; private set; }// bigint(20) unsigned NOT NULL auto_increment,
        public virtual User Author { get; set; }// post_author bigint(20) unsigned NOT NULL default '0',
        public virtual DateTime Date { get; set; } // datetime NOT NULL default '0000-00-00 00:00:00',
        public virtual DateTime DateGMT { get; set; }// datetime NOT NULL default '0000-00-00 00:00:00',
        public virtual string Content { get; set; }// longtext NOT NULL,
        public virtual string Title { get; set; }// text NOT NULL,
        public virtual string Excerpt { get; set; }// text NOT NULL,
        public virtual string Status { get; set; } // varchar(20) NOT NULL default 'publish',
        public virtual string CommentStatus { get; set; }// varchar(20) NOT NULL default 'open',
        public virtual string PingStatus { get; set; }// varchar(20) NOT NULL default 'open',
        public virtual string Password { get; set; }// varchar(20) NOT NULL default '',
        public virtual string Name { get; set; }// varchar(200) NOT NULL default '',
        public virtual string ToPing { get; set; }// text NOT NULL,
        public virtual string Pinged { get; set; }// text NOT NULL,
        public virtual DateTime Modified { get; set; }// datetime NOT NULL default '0000-00-00 00:00:00',
        public virtual DateTime ModifiedGMT { get; set; }// datetime NOT NULL default '0000-00-00 00:00:00',
        public virtual string ContentFiltered { get; set; }// text NOT NULL,
        public virtual Post Parent { get; set; } // bigint(20) unsigned NOT NULL default '0',
        public virtual string Guid { get; set; } //varchar(255) NOT NULL default '',
        public virtual int MenuOrder { get; set; } // int(11) NOT NULL default '0',
        public virtual string PostType { get; set; }// varchar(20) NOT NULL default 'post',
        public virtual string MimeType { get; set; } // varchar(100) NOT NULL default '',
        public virtual int CommentCount { get; set; }// bigint(20) NOT NULL default '0',
    }
}
